// 统一交互脚本
document.addEventListener('DOMContentLoaded', function() {
    // 侧边栏折叠功能
    const sidebarToggle = document.querySelector('.sidebar-toggle');
    const sidebar = document.querySelector('.sidebar');
    const sidebarOverlay = document.querySelector('.sidebar-overlay');
    const mobileToggle = document.querySelector('.mobile-toggle');
    
    if (sidebarToggle) {
        sidebarToggle.addEventListener('click', function() {
            sidebar.classList.toggle('collapsed');
            // 保存状态到本地存储
            localStorage.setItem('sidebarCollapsed', sidebar.classList.contains('collapsed'));
        });
    }
    
    // 从本地存储恢复侧边栏状态
    const savedState = localStorage.getItem('sidebarCollapsed');
    if (savedState === 'true') {
        sidebar.classList.add('collapsed');
    }
    
    // 移动设备菜单切换
    if (mobileToggle) {
        mobileToggle.addEventListener('click', function() {
            sidebar.classList.toggle('mobile-active');
            sidebarOverlay.classList.toggle('active');
        });
    }
    
    // 点击遮罩层关闭菜单
    if (sidebarOverlay) {
        sidebarOverlay.addEventListener('click', function() {
            sidebar.classList.remove('mobile-active');
            sidebarOverlay.classList.remove('active');
        });
    }
    
    // 添加窗口大小变化监听器
    window.addEventListener('resize', function() {
        if (window.innerWidth > 768) {
            sidebar.classList.remove('mobile-active');
            sidebarOverlay.classList.remove('active');
        }
    });
    
    // 为导航项添加点击事件
    const navItems = document.querySelectorAll('.nav-item');
    navItems.forEach(item => {
        item.addEventListener('click', function() {
            // 在移动设备上点击导航项后关闭菜单
            if (window.innerWidth <= 768) {
                sidebar.classList.remove('mobile-active');
                sidebarOverlay.classList.remove('active');
            }
        });
    });
    
    // 初始化工具提示（如果需要）
    initializeTooltips();
    
    // 初始化下拉菜单（如果有）
    initializeDropdowns();
    
    // 初始化可折叠面板（如果有）
    initializeCollapsibles();
    
    // 设置当前活动页面的导航项
    setActiveNavItem();
});

// 设置当前活动页面的导航项
function setActiveNavItem() {
    const currentPath = window.location.pathname;
    const filename = currentPath.split('/').pop();
    
    const navItems = document.querySelectorAll('.nav-item');
    navItems.forEach(item => {
        const href = item.getAttribute('href');
        if (href === filename || (filename === '' && href === 'index.html')) {
            item.classList.add('active');
        } else {
            item.classList.remove('active');
        }
    });
}

// 初始化工具提示
function initializeTooltips() {
    // 如果有自定义工具提示实现，可以在这里添加
}

// 初始化下拉菜单
function initializeDropdowns() {
    const dropdownTriggers = document.querySelectorAll('.dropdown-trigger');
    
    dropdownTriggers.forEach(trigger => {
        trigger.addEventListener('click', function(e) {
            e.preventDefault();
            e.stopPropagation();
            
            const dropdown = this.nextElementSibling;
            dropdown.classList.toggle('active');
            
            // 关闭其他下拉菜单
            dropdownTriggers.forEach(otherTrigger => {
                if (otherTrigger !== trigger) {
                    otherTrigger.nextElementSibling.classList.remove('active');
                }
            });
        });
    });
    
    // 点击页面其他地方关闭下拉菜单
    document.addEventListener('click', function() {
        document.querySelectorAll('.dropdown-menu').forEach(menu => {
            menu.classList.remove('active');
        });
    });
}

// 初始化可折叠面板
function initializeCollapsibles() {
    const collapsibles = document.querySelectorAll('.collapsible-trigger');
    
    collapsibles.forEach(trigger => {
        trigger.addEventListener('click', function() {
            const container = this.closest('.collapsible');
            container.classList.toggle('open');
            
            // 更新图标
            const icon = this.querySelector('i.fa-chevron-down');
            if (icon) {
                if (container.classList.contains('open')) {
                    icon.style.transform = 'rotate(180deg)';
                } else {
                    icon.style.transform = 'rotate(0deg)';
                }
            }
        });
    });
} 